home *** CD-ROM | disk | FTP | other *** search
/ Tech Arsenal 1 / Tech Arsenal (Arsenal Computer).ISO / tek-20 / kttrm100.zip / KTTERM.DOC < prev    next >
Text File  |  1992-09-07  |  48KB  |  1,085 lines

  1. 1.0)  INTRODUCTION
  2.  
  3. KTterm is based on another recent development of mine, KAMterm, which
  4. is a full Host Mode terminal program for the Kantronics line of TNCs.
  5. As it turned out, users with non-Kantronics TNCs wanted to take
  6. advantage of the features built into KAMterm with other brands of TNCs.
  7. KTterm is the result of their requests.  While this program cannot
  8. begin to match the power offered by KAMterm, it does provide some
  9. interesting features for non-Host Mode communications.
  10.  
  11. If you have a Kantronics TNC, and would be interested in the additional
  12. features offered by KAMterm (see the file, kamterm.inf), please contact
  13. me.
  14.  
  15. I've included a lot of the standard bits that you see in most terminal
  16. programs (i.e., split-screen, scrollback buffers, logging to a file,
  17. etc.).  I've also added a lot of things that, in my opinion, have been
  18. seriously lacking in everything I've tried for packet terminal programs.
  19.  
  20. KTterm is designed around several basic concepts:
  21.  
  22. *) KTterm is designed to be extremely simple to operate.
  23.  
  24. *) KTterm WILL NOT MODIFY YOUR TNC's PARAMETERS UNLESS YOU ASK IT TO.
  25.  
  26. *) IF YOU CHOOSE TO DO SO, you have the ability to create startup and/or
  27.    exit command files that will configure the TNC for you.
  28.  
  29. *) When logging to a file, KTterm will try to keep things organized by
  30.    adding a line above any text it logs indicating who said what.
  31.  
  32. *) In some menus, if you have a mouse, the mouse can be used for those
  33.    menus.
  34.  
  35. *) Scrollback buffers are setup for each window if memory permits.  Size
  36.    is adjustable via configuration file (ktterm.cfg).
  37.  
  38. *) KTterm will notify you of incoming connects no matter where you
  39.    happen to be at the time (requires that the TNC's RING parameter be
  40.    turned on).
  41.  
  42. *) Programmable function keys --- <F1> is reserved for HELP, but
  43.    otherwise, any of the function keys (<F1> through <F10>) can be used
  44.    alone or in combination with <SHIFT>, <ALT>, and/or <CTRL> for your
  45.    own macros, etc.  The limitation here is that the string is limited
  46.    to 80 chars.
  47.  
  48. *) Macro command files --- just as you can have setup files for start
  49.    and exit, you can send macro command files to the TNC at any time
  50.    while running KTterm.
  51.  
  52. *) ``Brag'' files are supported, too.  You will be asked for the name of
  53.    the file you wish to transmit.
  54.  
  55.  
  56. 2.0)  DISCLAIMER
  57.  
  58. KTterm is provided AS IS with no warranty, expressed, written, or
  59. implied.  While every effort has been made to keep KTterm free of bugs,
  60. individual systems do vary, and it is beyond the author's ability to
  61. test KTterm in all possible system configurations.  Under no
  62. circumstances shall KTterm's author be liable for incidental or
  63. consequential damages that may be incurred by the performance or use of
  64. this product.
  65.  
  66.  
  67. 3.0)  DISTRIBUTION
  68.  
  69. You are free to distribute UNMODIFIED copies of KTterm, providing that
  70. all documentation, sample files, and other related files are also
  71. distributed unmodified.  This applies ONLY to the shareware
  72. distribution --- registered versions of KTterm, as well as the typeset
  73. documentation, are not to be distributed, period.
  74.  
  75. KTterm may, if needed, be re-packaged by another archiving program
  76. (e.g., ZIP, ZOO, ARJ, etc.) for distribution.  This represents the only
  77. acceptable ``modification'' for its distribution.
  78.  
  79. Under NO circumstances is the Copyright notice within the program or its
  80. documentation to be altered in any way or removed.
  81.  
  82.  
  83. 4.0)  NS16550AN/AFN SUPPORT
  84.  
  85. KTterm provides full support for the NS16550AN and NS16550AFN UARTs.
  86. These UARTs (made by National Semiconductor), provide a much greater
  87. degree of reliability at higher speeds (the definition of which depends
  88. on the speed of the computer, and ranges from 4800 bps in severe cases
  89. to 38,400 bps or higher on faster computers).
  90.  
  91. The 16550 does this in two ways.  First, it provides a 16 character
  92. FIFO buffer, as opposed to the 1 character FIFO in older UARTs such
  93. as the 8250.  This provides some breathing room for your program.
  94. The second thing the 16550 does is to allow a single interrupt for
  95. multiple characters.  In other words, with only one interrupt, a
  96. communications program can read several characters from the port at
  97. a time.  This substantially reduces the interrupt loading on the
  98. computer, and thus improves performance of serial I/O.
  99.  
  100. KTterm automatically detects either the NS16550AN or NS16550AFN
  101. if it exists, and takes advantage of the FIFO and the modified
  102. interrupt structure described above.
  103.  
  104. Note, however, that while KTterm does support speeds up to (and
  105. including) 115,200 bps, most TNCs currently only support speeds up
  106. to 9600 bps.
  107.  
  108. If you do not have 16550 UART (you would know if you did --- they are
  109. more expensive, and are not standard stock in most serial cards), and
  110. particularly if you have a slower computer, you may run into problems
  111. running at 9600 bps.  If you're seeing dropped characters (normally
  112. only a problem when there is a continuous stream of incoming data),
  113. try dropping the speed down to, say, 4800 bps or lower.  Remember to
  114. change the speed on the TNC (this requires a reset) before changing
  115. KTterm.
  116.  
  117. 5.0)  KTterm OPERATIONS
  118.  
  119. This section will describe some operational aspects of KTterm.  These
  120. include startup options and screen layout.
  121.  
  122. 5.1)  SCREEN LAYOUT
  123.  
  124. The physical screen is divided into 2 regions.  The first is the main output
  125. window.  This takes the majority of the screen.  The second is the local
  126. window, which is the first place where the text you type will be echoed.
  127. The format shouldn't be new to anyone who has used popular terminal programs
  128. for packet radio.  The status bar in between these which indicates the
  129. stream, who (if anyone) that stream is connected to, etc.
  130.  
  131. 5.1.1)  THE SCREEN ITSELF
  132.  
  133. When you first start KTterm you will see a screen which looks
  134. something like the following:
  135.  
  136. ╔════════════════════════════════ TOP OF SCREEN ══════════════════════════════╗
  137. ║                                                                             ║
  138. ║ This is the MAIN WINDOW.  All text coming FROM the TNC is placed in this    ║
  139. ║ window, as is the local echo (if it is turned on).                          ║
  140. ║                                                                             ║
  141. ║ This window uses lines 0 through 19 on the screen.                          ║
  142. ║                                                                             ║
  143. ║                                                                             ║
  144. ║                                                                             ║
  145. ║                                                                             ║
  146. ║                                                                             ║
  147. ║                                                                             ║
  148. ║ The line below (it is only one line in the program) is line 20, which is    ║
  149. ║ the STATUS LINE.                                                            ║
  150. ───────────────────────────────────────────────────────────────────────────────
  151. F1=HELP COM1 9600 8N1         KTterm Version 1.0          09 May 1992  12:33:37
  152. ───────────────────────────────────────────────────────────────────────────────
  153. ║                                                                             ║
  154. ║ This is the LOCAL WINDOW.  Text you type goes here.  This window uses       ║
  155. ║ lines 21 through 24 on the screen.                                          ║
  156. ║                                                                             ║
  157. ╚══════════════════════════════ BOTTOM OF SCREEN ═════════════════════════════╝
  158.  
  159.  
  160. So, with that picture in mind, let's take a look at what we've got.
  161.  
  162. First, the main window contains all text coming in from the TNC for the
  163. stream assigned to the current window.
  164.  
  165. The last window on the screen is the local window.  This is where text you
  166. type is first echoed.  In here, you can edit a line of text to send to the
  167. TNC before actually sending the data.  If the line exceeds 78 characters,
  168. everything that has been typed to that point will be transmitted to the
  169. TNC.  Word wrap is not currently implemented.
  170.  
  171. 5.1.2)  THE STATUS BAR
  172.  
  173. The status window provides some information as to where you are, how things
  174. are configured, etc.  Reading from left to right, we first see a reminder
  175. that F1 can be used for HELP.  Next, we see that the serial port is
  176. configured for COM1, 9600 bps, 8 data bits, No parity, and 1 stop bit.
  177.  
  178. At the far right of the status bar we have the current date and time,
  179. according to your computer's clock.
  180.  
  181. 5.1.3)  LOCAL ECHO vs. INCOMING TEXT
  182.  
  183. KTterm allows you to use a different color for locally echoed text than
  184. that used for incoming text from the TNC.  This is defined in the
  185. configuration file, ktterm.cfg, which is discussed later.  The default
  186. is to use YELLOW for locally echoed text, and LIGHTBLUE for incoming
  187. text.  These are also configured in the configuration file.
  188.  
  189. 5.2)  NEW CONNECTS
  190.  
  191. KTterm will notify you of incoming connects.  This requires that the
  192. TNC parameter RING be set to ON (the ^G characters sent from the TNC
  193. on incoming connects are used as the indicator that the connect was not
  194. originated by you).  Note that this parameter is not available on all
  195. TNCs.
  196.  
  197.  
  198. 6.0)  KTterm COMMANDS
  199.  
  200. This section describes the commands available within KTterm.  They are
  201. covered in order by the key that calls them (i.e., <ALT><B> will be
  202. covered before <ALT><F>, etc.).
  203.  
  204. 6.1)  [ALT][A]
  205.  
  206. This command is used to switch KTterm into and out of a special mode
  207. in which it will immediately transmit any character you type to the
  208. TNC.  The primary purpose for this mode is for those TNC types which
  209. require a '*' character for auto-baud setting.  Issuing this command
  210. again will take you out of this mode.
  211.  
  212. When you enter this mode, you will see the center portion of the status
  213. bar go into a sort of reverse-video, i.e., the foreground and background
  214. colors you have defined for the status bar will be reversed.
  215.  
  216. Note that when switching from normal editing mode to this special mode,
  217. any text you have typed on the line that has not been transmitted to the
  218. TNC will be erased.  This is done to prevent accidents, confusion, etc.,
  219. from any leftover text reappearing at a later time.
  220.  
  221.  
  222. 6.2)  [ALT][B]
  223.  
  224. This command is used to transmit a ``brag file'' to the connected station.
  225. A window will popup and ask you for the name of the file you wish to
  226. transmit.  If this file is found, it will be transmitted just as if you
  227. had typed the information.  If, on the other hand, it is not found,
  228. KTterm will complain about not finding the file, and return to normal
  229. operation.
  230.  
  231. During each phase of the file transmission, KTterm will check to see
  232. that the transmit buffers have been cleared before proceeding to the next
  233. part of the file.  This is to help insure that the buffers in the TNC are
  234. not overrun by trying to send information faster than it can transmit it
  235. to the remote station.  If the TNC's buffers fill up, and it tells your
  236. computer to stop sending data, the buffers within KTterm will not
  237. empty, and KTterm will wait until it can move on.
  238.  
  239. This function is not really intended for use to upload large text files
  240. to a BBS, etc., though it could probably be used for such applications.
  241. It is intended for short files describing your station, and does not
  242. implement any error control with the remote station, and assumes that
  243. if the TNC is happy, the remote end is happy.
  244.  
  245. Functionality for uploading actual files will be added when I get the
  246. protocol specifications for file transfer programs used on packet BBS
  247. systems.
  248.  
  249. 6.3)  [ALT][C]
  250.  
  251. This command clears the screen.
  252.  
  253. 6.4)  [ALT][E]
  254.  
  255. This command toggles the local echo of characters to the screen (from
  256. KTterm, not from the TNC).  Local echo from KTterm is normally
  257. used when the TNC is not echoing characters you type.  In its normal
  258. operating mode, the TNC uses the ECHO command to determine whether or
  259. not you want input echoed back.
  260.  
  261. The default value for local echo from KTterm is off.  This can be
  262. changed from the configuration file.  This is discussed later.
  263.  
  264. 6.5)  [ALT][F]
  265.  
  266. This command is used to send a macro command file to the TNC.  You will
  267. be asked for the name of the file you wish to send to the TNC (the default
  268. will be the name of the startup command file, if one is defined).  This
  269. command can be used to change the TNC's configuration while running
  270. KTterm, if desired.
  271.  
  272. The format of the macro file is the same as that for the startup and/or
  273. exit command files, which will be discussed later.
  274.  
  275. 6.6)  [ALT][G]
  276.  
  277. This command is used to call KTterm's internal QSO logger (or,
  278. alternatively, an external logging program).  In the log function, you
  279. will be asked for the normal items you would enter in a logbook, such
  280. as the person's callsign, the start/end times for the QSO, the
  281. frequency, and so on.
  282.  
  283. The internal log function for KTterm is far from elegant.  It is
  284. primarily intended as a quick and easy way to document the QSO
  285. information without having to switch between a note pad, a logbook, and
  286. the keyboard.
  287.  
  288. When entering QSO log information in the internal logger, do not save
  289. it to a file until the entry is complete.  Once you save an entry to
  290. disk, KTterm assumes that you have completed that entry, and the next
  291. time you access the log in that window, it will be blank.
  292.  
  293. If you wish to set a default filename for the logfile, you can do so via
  294. the configuration file, ktterm.cfg.  This is also where you can
  295. instruct KTterm to use an alternate logging program.  See the section on
  296. the configuration file for more details.
  297.  
  298. 6.7)  [ALT][I]
  299.  
  300. This command provides some general information about KTterm,
  301. registration, etc.
  302.  
  303. 6.8)  [ALT][K]
  304.  
  305. This command brings up a menu which allows you to change the function
  306. key definitions.  The menu will appear in the upper left corner of the
  307. screen, and its exact nature will vary, depending on whether or not a
  308. mouse was detected on the system.
  309.  
  310. The items in the menu are as follows:
  311.  
  312.                 ┌────────────────────────────┐
  313.                 │ F2 through F10             │
  314.                 ├────────────────────────────┤
  315.                 │ ALT F1 through ALT F10     │
  316.                 ├────────────────────────────┤
  317.                 │ CTRL F1 through CTRL F10   │
  318.                 ├────────────────────────────┤
  319.                 │ SHIFT F1 through SHIFT F10 │
  320.                 ├────────────────────────────┤
  321.                 │ Load new function key file │
  322.                 ├────────────────────────────┤
  323.                 │ Save function keys to file │
  324.                 ├────────────────────────────┤
  325.                 │ Exit                       │
  326.                 └────────────────────────────┘
  327.  
  328. The first four options allow you to change the characters that will be
  329. sent to the TNC for the function keys themselves.  Note that plain
  330. <F1> is not included in this list --- <F1> itself is reserved
  331. for HELP.
  332.  
  333. The fifth option, ``Load new function key file'', allows you to load a
  334. new set of function key definitions from a file.  You will be asked for the
  335. name of the file, and if it exists, it will be loaded.  Function key macro
  336. files can either be created through the program, or manually.
  337.  
  338. The sixth option, ``Save function keys to file'', allows you to save the
  339. function key definitions you have defined to a file.  You will be asked
  340. for the name of the file.   The results will then be stored to that file.
  341.  
  342. The last option simply exits the menu.  Pressing <ESC> will do the
  343. same thing.
  344.  
  345. The format for the function key file will be discussed in the section
  346. entitled FUNCTION KEY DEFINITION FORMAT.
  347.  
  348. 6.9)  [ALT][L]
  349.  
  350. This command toggles logging of the current window to a file.  If logging
  351. on the current window is not active, you will be asked for the name of
  352. the file to log to.
  353.  
  354. KTterm will attempt to keep things organized in the log
  355. file by indicating who said what.  For incoming text, it will indicate
  356. that the TNC was the source, and for outgoing text, it will use the
  357. callsign you defined (if any) in the configuration file.  If you have
  358. not defined a callsign, it will simply use ``YOU'' to refer to you.
  359.  
  360. 6.10)  [ALT][M]
  361.  
  362. This gives a quick snapshot of the amount of memory available to
  363. KTterm on your system.
  364.  
  365. 6.11)  [ALT][P]
  366.  
  367. This command allows you to change the communications parameters from
  368. within KTterm.  You will be given the following list of options:
  369.  
  370.          ┌─────────────────────────────────────────────────┐
  371.          │ Port [1-4]:     Port Speed:                     │
  372.          │                                                 │
  373.          │ KTterm uses the standard setting of No parity,  │
  374.          │ 8 data bits, and one stop bit.  Flow control is │
  375.          │ through full-duplex hardware flow control only. │
  376.          └─────────────────────────────────────────────────┘
  377.  
  378. The port option selects the communications port, and valid inputs are
  379. <1>, <2>, <3>, and <4>, for COM1, COM2, COM3, and COM4, respectively.
  380.  
  381. The port speed option is just that --- port speed.  The TNC does not
  382. support port speeds greater than 9600 bps.  KTterm will, however,
  383. allow speed settings up to (and including) 115,200 bps.
  384.  
  385. Parity, data bits, and stop bits are automatically set at No Parity,
  386. 8 bits per character, and 1 stop bit.  In addition, the flow control
  387. method used is bidirectional hardware flow control.
  388.  
  389. In this mode of flow control, the CTS (Clear To Send) control line is
  390. used to inform the computer that the TNC is ready to receive data, if
  391. the computer has any to transmit, and the RTS (Request To Send) control
  392. line is used by the computer to inform the TNC that it is ready to
  393. receive data, if any is available.  These operate independently of each
  394. other.  This mode of flow control is the preferred mode for use with
  395. high-speed modems, etc., as it adds the ability for the computer to stop
  396. data flow from the connected device when it is not ready.
  397.  
  398. 6.12)  [ALT][R]
  399.  
  400. This command allows you to execute an external DOS command.  You will
  401. be asked for the name of the command you wish to execute.  If you simply
  402. press <CR>, you will simply shell out to DOS.  If you decide not to
  403. do anything here, simply press <ESC> to abort.
  404.  
  405. 6.13)  [ALT][X]
  406.  
  407. Exit KTterm.
  408.  
  409. 6.14)  [ALT][Y]
  410.  
  411. This command is used to set the date/time on the TNC.  It uses the current
  412. date and time setting on your computer.
  413.  
  414. 6.15)  [F1]
  415.  
  416. View HELP SCREEN.
  417.  
  418. 6.16)  [UP-ARROW]
  419.  
  420. If scrollback is enabled, and if scrollback buffers could be allocated
  421. to the current window, this will pull up the scrollback buffer for the
  422. current window.  Within scrollback, <PgUp>, <PgDn>, <HOME>, <END>, <UP>,
  423. and <DOWN> will move you around in the scrollback buffer. <ESC> exits
  424. back to KTterm's normal operation.
  425.  
  426. In addition, if you wish to save the entire scrollback buffer to a file,
  427. press <S>.  KTterm will then ask you for the filename that you wish to
  428. save the buffer to.  Press <ESC> instead of entering a filename to abort
  429. this operation.
  430.  
  431.  
  432. 7.0)  THE CONFIGURATION FILE
  433.  
  434. KTterm uses a configuration file called ktterm.cfg, which allows you to
  435. change most aspects of its configuration.  This file must exist,
  436. however, it need not have all configuration options in it (or any of
  437. them, for that matter).  Any options which are not set within this file
  438. simply revert to their default values.  If the file is not found at all,
  439. the system will create one for you with only the communications
  440. parameters.
  441.  
  442. Within the configuration file, anything following a '#' character is
  443. treated as a comment, blank lines will be ignored, and commands within
  444. the file are not case-sensitive.  Only one command is allowed per line
  445. in the file.  In the examples shown below (and in the sample
  446. configuration file), a colon follows the field name --- this is
  447. optional, and is included for readability only.  KTterm ignores this
  448. completely.
  449.  
  450. Throughout this section, example commands will be represented as:
  451.  
  452.          INITFILE:  startup.kam
  453.  
  454. There may be several commands grouped together, but the groups of commands
  455. (or the command) will have a blank space above and below it, and will be
  456. indented.  If KTterm does not understand the input in any line, it will
  457. advise you of this, and tell you the offending line number within the
  458. configuration file.
  459.  
  460. 7.1)  GENERAL OPTIONS
  461.  
  462. There are several types of options which may be set from the configuration
  463. file.  This section will cover those which are general in nature, and don't
  464. apply to any specific grouping.
  465.  
  466. 7.1.1)  CAPBUFF
  467.  
  468. CAPBUFF is the size of the scrollback buffer for EACH WINDOW.  Take care
  469. when increasing this number --- remember that each stream will have this
  470. allocated to it, and that eats memory.  I suggest you start with the
  471. default (100 lines) and gradually increase.  If a window is opened, and
  472. there isn't room to allocate this number of lines, that window will not
  473. have a scrollback buffer, but will be opened (provided there is enough
  474. memory left to do so).
  475.  
  476. Here are some sizes for 100 line increments of the scrollback buffer (note
  477. that there is clearly a pattern here):
  478.  
  479.       0 lines:  scrollback disabled
  480.     100 lines:  18,400 bytes per active window
  481.     200 lines:  28,400 bytes
  482.     300 lines:  38,400 bytes
  483.      ......      .......
  484.     800 lines:  88,400 bytes
  485.  
  486. The example below sets the scrollback buffer size to 200 lines.
  487.  
  488.          CAPBUFF: 200
  489.  
  490. 7.1.2)  INITFILE and EXITFILE
  491.  
  492. These options set the filenames for the optional command (macro) files to
  493. be sent to the TNC when starting and exiting KTterm.  In the following
  494. example, when KTterm is loaded, it will transmit all commands in the
  495. file called startup.kam to the TNC, and right before exiting, will do
  496. the same for the file finish.kam.
  497.  
  498.          INITFILE:  startup.kam
  499.          EXITFILE:  finish.kam
  500.  
  501. The filenames can be anything you choose, provided of course that it is a
  502. legal dos filename, and that the total length of the path/filename does not
  503. exceed 80 characters.  The format for these files will be covered in the
  504. section called FORMAT FOR INIT/EXIT COMMAND FILES.
  505.  
  506. 7.1.3)  QSO LOG OPTIONS
  507.  
  508. There are several options which can be used to customize the operation
  509. of the QSO logging functionality in KTterm.  These include setting a
  510. default file to log information to, as well as setting up an external
  511. logging program.
  512.  
  513. The first option is LOGFILE.  This sets the default filename that KTterm
  514. will use when logging QSOs to a file.  You will still be asked for a
  515. filename, and can choose an alternate file if you so desire.  This is
  516. optional, and if this is not found in your configuration file, KTterm
  517. will simply present a blank field when asking for the filename.
  518.  
  519. In the following example, the default filename to use for manually
  520. entered logs is ktterm.log.
  521.  
  522.          LOGFILE: ktterm.log
  523.  
  524. In addition to these options, if you wish to use an external logging
  525. program, you would identify it to KTterm by using the LOGGER option.
  526. With this option, when you press <ALT><G>, you will execute the external
  527. logging program, and when you exit from it, you will return to KTterm.
  528. If you want KTterm to check with you before calling the external logging
  529. program (e.g., if you sometimes use the internal logger), you can use
  530. the ASKLOGGER option.  If ASKLOGGER is not used in your configuration
  531. file, KTterm will run the external logging program every time you press
  532. <ALT><G>.
  533.  
  534. In the following example, the external logging program is called by the
  535. command ``mylogger logfile.txt'' and we do want KTterm to ask before
  536. calling the external logger.
  537.  
  538.          LOGGER: mylogger logfile.txt
  539.          ASKLOGGER: YES
  540.  
  541. 7.1.4)  MORSESPEED
  542.  
  543. KTterm uses Morse code for a few minor status messages and error
  544. messages.  This option allows you to determine the code speed at which
  545. Morse code messages will be sent from within KTterm.  The default is 20
  546. WPM.  If this parameter is set to 0 (zero) words per minute, Morse
  547. messages will be disabled.
  548.  
  549. The example below shows the default setting of 20 WPM:
  550.  
  551.          MORSESPEED: 20
  552.  
  553. NOTE:  According to the documentation for Turbo C++, the functions used
  554. for determining the delays used in generating the Morse code messages
  555. do not vary with the CPU speed of the computer the program is run on.
  556. Tests run on multiple computers have verified this, however, if you should
  557. happen to find this to be in error, you may need to experiment a bit.
  558.  
  559. 7.1.5)  MORSETONE
  560.  
  561. This option allows you to change the frequency of the tones used for
  562. Morse code messages.  The default is 600 Hz, as represented in the
  563. example below:
  564.  
  565.          MORSETONE: 600
  566.  
  567. 7.1.6)  MYCALL
  568.  
  569. MYCALL is the callsign that will be used for logging to a file. This does
  570. not affect the value in the TNC in any way.  The example below sets MYCALL
  571. to N5IAL.
  572.  
  573.          MYCALL: N5IAL
  574.  
  575. 7.1.7)  NORMALECHO
  576.  
  577. NORMALECHO is used to determine if KTterm should default to echoing
  578. text locally.  The value for this must be either 1 for on or 0 (zero)
  579. for off.
  580.  
  581. The default for is NOT to echo text locally.  The example shown below
  582. illustrate how this parameter would be set if it were included in the
  583. startup file.
  584.  
  585.          NORMALECHO: 0
  586.  
  587. 7.1.8)  MARGINBELL
  588.  
  589. If you choose to do so, you can activate a margin bell that will sound
  590. when you reach the specified number of characters from the left margin
  591. (similar to the margin bell on actual mechanical typewriters).  The
  592. default option is for this to be turned off, and if nothing is setup
  593. in the configuration file, there will be no bell.  If, however, you wish
  594. to set the margin bell to sound at a given column, you would setup
  595. something like the example below, which assumes you want the bell to
  596. sound 5 spaces from the right margin (the right margin is at column 78,
  597. therefore, you would want it to sound when you hit column 73):
  598.  
  599.          MARGINBELL:  73
  600.  
  601. 7.2)  COMMUNICATIONS PARAMETERS
  602.  
  603. This section discusses the communications parameters that can be set from
  604. the configuration file.
  605.  
  606. 7.2.1)  PORTSPEED
  607.  
  608. PORTSPEED sets the default serial port speed which KTterm will use, and
  609. must be one of 1200, 2400, 4800, or 9600.  As this is being written, the
  610. TNC does not allow port speeds higher than 9600 bps.  The example below
  611. shows the default setting, 9600 bps, and how it would be set in the file.
  612.  
  613.          PORTSPEED: 9600
  614.  
  615. 7.2.2)  COMMPORT
  616.  
  617. COMMPORT sets the default serial port which KTterm will use, and must be
  618. one of 1, 2, 3, or 4, for COM1 through COM4, respectively.  In the example
  619. below, COM1 (the default) is selected.
  620.  
  621.          COMMPORT: 1
  622.  
  623. 7.3)  COLOR SETTINGS
  624.  
  625. COLOR commands take exactly 2 arguments, and they must be in the right
  626. order.  The first argument is the parameter which we wish to associate
  627. the color with, and the second is the color itself.
  628.  
  629. A program is included which dumps all color combinations to the screen and
  630. identifies the foreground and background colors in effect at that time.
  631. Use this to see how different color combinations look, and decide what you
  632. like/don't like.
  633.  
  634. MONOCHROME USERS:  The windowing library used with this program is smart
  635. enough to know that you have a monochrome monitor, and does not use the
  636. majority of these colors.  Depending on what combinations you select, it
  637. will set things up to either do normal, reverse, or high-intensity video.
  638.  
  639. Choices for colors are as follows:
  640.  
  641.          BLACK         DARKGRAY
  642.          BLUE          LIGHTBLUE
  643.          GREEN         LIGHTGREEN
  644.          CYAN          LIGHTCYAN
  645.          RED           LIGHTRED
  646.          MAGENTA       LIGHTMAGENTA
  647.          BROWN         YELLOW
  648.          LIGHTGRAY     WHITE
  649.  
  650. NOTE:  If the BACKGROUND color is set to anything in the second column
  651. (DARKGRAY through WHITE), the foreground will be flashing.  This is true
  652. for both color and monochrome monitors.
  653.  
  654. The first set of color parameters deal with the colors assigned to the
  655. 3 key areas of the screen in normal operations (i.e., not in a menu, etc.).
  656. The second set of color parameters deal with the colors used for popup
  657. windows, menus, text entry (e.g., when you are asked for a filename), and
  658. so on.  These are shown in the following tables.
  659.  
  660.     ╔═════════════════════════════════════════════════════════════════╗
  661.     ║          Screen Colors for Normal Operations                    ║
  662.     ╠══════════════════════╤══════════════════════════════════════════╣
  663.     ║  STATFG              │  STATUS LINE foreground                  ║
  664.     ╟──────────────────────┼──────────────────────────────────────────╢
  665.     ║  STATBG              │  STATUS LINE background                  ║
  666.     ╟──────────────────────┼──────────────────────────────────────────╢
  667.     ║  LOCALFG             │  LOCAL WINDOW foreground                 ║
  668.     ╟──────────────────────┼──────────────────────────────────────────╢
  669.     ║  LOCALBG             │  LOCAL WINDOW background                 ║
  670.     ╟──────────────────────┼──────────────────────────────────────────╢
  671.     ║  MAINFG              │  MAIN COMMAND WINDOW foreground          ║
  672.     ╟──────────────────────┼──────────────────────────────────────────╢
  673.     ║  MAINBG              │  MAIN COMMAND WINDOW background          ║
  674.     ╟──────────────────────┼──────────────────────────────────────────╢
  675.     ║  ECHOFG              │  local echo foreground (any window)      ║
  676.     ╟──────────────────────┼──────────────────────────────────────────╢
  677.     ║  ECHOBG              │  local echo background (any window)      ║
  678.     ╚══════════════════════╧══════════════════════════════════════════╝
  679.  
  680. ╔════════════════════════════════════════════════════════════════════════════╗
  681. ║                     Popup Menu/Window Colors                               ║
  682. ╠═══════════════════════════╤════════════════════════════════════════════════╣
  683. ║  POPUPFG                  │ popup window foreground                        ║
  684. ╟───────────────────────────┼────────────────────────────────────────────────╢
  685. ║  POPUPBG                  │ popup window background                        ║
  686. ╟───────────────────────────┼────────────────────────────────────────────────╢
  687. ║  HELPFG                   │ help screen foreground                         ║
  688. ╟───────────────────────────┼────────────────────────────────────────────────╢
  689. ║  HELPBG                   │ help screen background                         ║
  690. ╟───────────────────────────┼────────────────────────────────────────────────╢
  691. ║  SBFG                     │ scrollback screen foreground                   ║
  692. ╟───────────────────────────┼────────────────────────────────────────────────╢
  693. ║  SBBG                     │ scrollback screen background                   ║
  694. ╟───────────────────────────┼────────────────────────────────────────────────╢
  695. ║  MENUFG                   │ menu foreground                                ║
  696. ╟───────────────────────────┼────────────────────────────────────────────────╢
  697. ║  MENUBG                   │ menu background                                ║
  698. ╟───────────────────────────┼────────────────────────────────────────────────╢
  699. ║  MENUBDRFG                │ menu border foreground                         ║
  700. ╟───────────────────────────┼────────────────────────────────────────────────╢
  701. ║  MENUBDRBG                │ menu border background                         ║
  702. ╟───────────────────────────┼────────────────────────────────────────────────╢
  703. ║  MENUSELFG                │ menu selected item foreground                  ║
  704. ╟───────────────────────────┼────────────────────────────────────────────────╢
  705. ║  MENUSELBG                │ menu selected item background                  ║
  706. ╟───────────────────────────┼────────────────────────────────────────────────╢
  707. ║  MENUFIRSTFG              │ foreground for highlighted single key in menu  ║
  708. ╟───────────────────────────┼────────────────────────────────────────────────╢
  709. ║  MENUFIRSTBG              │ background for highlighted single key in menu  ║
  710. ╟───────────────────────────┼────────────────────────────────────────────────╢
  711. ║  ENTRYFG                  │ text entry foreground                          ║
  712. ╟───────────────────────────┼────────────────────────────────────────────────╢
  713. ║  ENTRYBG                  │ text entry background                          ║
  714. ╟───────────────────────────┼────────────────────────────────────────────────╢
  715. ║  ENTRYKEY                 │ text entry key text (labels)                   ║
  716. ╟───────────────────────────┼────────────────────────────────────────────────╢
  717. ║  ENTRYMSG                 │ text entry message text (messages to user)     ║
  718. ╚═══════════════════════════╧════════════════════════════════════════════════╝
  719.  
  720. The examples below show the default assignments for each of these items.
  721.  
  722.          COLOR: STATFG BLUE
  723.          COLOR: STATBG LIGHTGRAY
  724.          COLOR: LOCALFG GREEN
  725.          COLOR: LOCALBG BLACK
  726.          COLOR: MAINFG LIGHTBLUE
  727.          COLOR: MAINBG BLACK
  728.          COLOR: ECHOFG YELLOW
  729.          COLOR: ECHOBG BLACK
  730.          COLOR: POPUPFG YELLOW
  731.          COLOR: POPUPBG BLUE
  732.          COLOR: HELPFG BLUE
  733.          COLOR: HELPBG LIGHTGRAY
  734.          COLOR: SBFG YELLOW
  735.          COLOR: SBBG BLACK
  736.          COLOR: MENUFG BLACK
  737.          COLOR: MENUBG LIGHTGRAY
  738.          COLOR: MENUBDRFG RED
  739.          COLOR: MENUBDRBG LIGHTGRAY
  740.          COLOR: MENUSELFG YELLOW
  741.          COLOR: MENUSELBG CYAN
  742.          COLOR: MENUFIRSTFG RED
  743.          COLOR: MENUFIRSTBG LIGHTGRAY
  744.          COLOR: ENTRYFG YELLOW
  745.          COLOR: ENTRYBG LIGHTGRAY
  746.          COLOR: ENTRYKEY BLUE
  747.          COLOR: ENTRYMSG RED
  748.  
  749. If the color selected or the parameter to assign that color to are not
  750. valid, KTterm will advise you that it did not recognize what you were
  751. trying to do, and the line number in the configuration file where the
  752. mistake was found.
  753.  
  754.  
  755. 8.0)  FUNCTION KEY DEFINITION FORMAT
  756.  
  757. If you are creating a file containing function key definitions by hand, it
  758. must follow a specific format.  First, in most cases, anything following a
  759. '#' character is treated as a comment, and ignored by the program.  The
  760. only exception to this is the line of text associated with the function
  761. key, where the '#' character is treated as any other character would be.
  762.  
  763. 8.1)  GENERAL FILE FORMAT
  764.  
  765. When definining text to be transmitted, the ']' character is used for a
  766. carriage return.  This is not required at the end of the line, as a
  767. <CR> will automatically be sent at the end of the macro key.  It is
  768. primarily used for multiple commands being placed within one macro key.
  769. At this time, the notation '^n' to send a CTRL-n key sequence is not
  770. supported.
  771.  
  772. To define the text to be sent to the TNC when a function key is pressed,
  773. you first need to tell KTterm what key you are defining.  To do this,
  774. simply enter one of the following on a line by itself:
  775.  
  776.          KEY Fn
  777.          KEY ALT Fn
  778.          KEY CTRL Fn
  779.          KEY SHIFT Fn
  780.  
  781. where 'n' is a number from 2 to 10 for the function keys by themselves,
  782. or from 1 to 10 for <ALT>, <CTRL>, or <SHIFT> and the
  783. function key.  Again, <F1> is reserved for the HELP command within
  784. KTterm.
  785.  
  786. The next line of text is the text that will be sent to the TNC when you
  787. press that function key.  If the next line of text is blank, it will be
  788. ignored.  Function key definitions cannot extend beyond one line, and are
  789. limited to 80 characters.  In this line, the '#' character is NOT treated
  790. as a comment.
  791.  
  792. So, for example, if we want to define <F2> to connect to FOO-BBS via
  793. FOO-DIGI, we would enter something like the following:
  794.  
  795.                   ┌──────────────────────┐
  796.                   │ KEY F2               │
  797.                   │ C FOO-BBS v FOO-DIGI │
  798.                   └──────────────────────┘
  799.  
  800. As for comments within the above, take a look at the following example:
  801.  
  802.           ┌──────────────────────────────────────────────────┐
  803.           │ # This is a valid comment, and is ignored        │
  804.           │ KEY F2     # This is also a valid comment        │
  805.           │ C FOO-BBS v FOO-DIGI    # This is NOT a comment! │
  806.           └──────────────────────────────────────────────────┘
  807.  
  808. In the above example, pressing <F2> would result in the following
  809. being transmitted to the TNC:
  810.  
  811.      ``C FOO-BBS v FOO-DIGI    # This is NOT a comment!<CR>''
  812.  
  813. Note that the <CR> is automatically added at the end of the line.  If the
  814. connect string itself had been followed by a ']' character,
  815. (i.e., ``C FOO-BBS v FOO-DIGI]''), an additional <CR> would have been
  816. inserted there, as well, thus sending TWO commands to the TNC (the second
  817. of which would be ``# This is NOT a comment!'').
  818.  
  819. 8.2)  INTERNAL COMMAND MACROS
  820.  
  821. Function key definitions within KTterm can, to some degree, call
  822. internal functions within KTterm and thus provide single-key access
  823. to some commands.  These are primarily intended to simplify operations
  824. used while in a QSO, where you may often use the same command with the
  825. same parameters (e.g., sending a ``brag'' file), or where using the
  826. menu structure may be considered inconvenient or overly time-consuming.
  827.  
  828. As with any other command in the configuration files, these options are
  829. not case-sensitive.  Only one internal command macro is allowed for a
  830. function key --- if more exist on the line, they will not be recognized
  831. by KTterm.
  832.  
  833. 8.2.1)  @BRAG
  834.  
  835. This macro is used to transmit a ``brag'' file, as if you had entered
  836. the <ALT><B> command.  This command takes one optional argument, the
  837. filename for the ``brag'' file to be transmitted.  If the filename is
  838. not given, you will be asked to provide the filename.
  839.  
  840. 8.2.2)  @MACRO
  841.  
  842. This macro is used to transmit a macro command file to the TNC, as
  843. if you had entered the <ALT><M> command.  This command takes one
  844. optional argument, the filename for the macro file.  If the filename is
  845. not given, you will be asked to provide the filename.
  846.  
  847. 8.2.3)  @DAYTIME
  848.  
  849. This macro is used to set the time and date on the TNC, as if you had
  850. entered the <ALT><Y> command.  It accepts no arguments.
  851.  
  852. 8.2.4)  @EXEC
  853.  
  854. This macro is similar to the <ALT><R> command.  The difference here,
  855. is that you specify the command you wish to execute directly in the
  856. function key macro line.  Like the <ALT><R> command, if you do not
  857. provide a command to execute, you will simply shell out to dos.
  858.  
  859. 8.2.5)  @SHELL
  860.  
  861. This macro is used to immediately shell out to DOS.  It takes no
  862. arguments.
  863.  
  864.  
  865. 9.0)  FORMAT FOR INIT/EXIT COMMAND FILES
  866.  
  867. When using the startup and exit command files, there are only two key
  868. things you must remember.  First, comments MUST have the '#' in the first
  869. column on the line. This is done here in order to allow you to use this
  870. character in TNC commands, if you so desire.
  871.  
  872. Second, if you wish to continue a command on to the next line (e.g.,
  873. for CTEXT), all you have to do is make sure the last character on the
  874. line is a '\'.  This character is ignored anywhere else on the line,
  875. but in this position, it will result in sending the ^V^M sequence to
  876. the TNC to tell it to continue the command on the next line.
  877.  
  878. The following is a sample of what you might wish to place in the startup
  879. file:
  880.  
  881.     ┌──────────────────────────────────────────────────────────┐
  882.     │ CTEXT Howdy!  if I don't show, pse lv a msg on n5ial-1.\ │
  883.     │ 73, de n5ial, Jim in Chicago.                            │
  884.     │                                                          │
  885.     │ CMSG ON                                                  │
  886.     └──────────────────────────────────────────────────────────┘
  887.  
  888. This sets the connect text (CTEXT) to send the message shown, with the
  889. ``73, de n5ial'' part starting on a new line, and then sets the TNC up
  890. to send CTEXT on a new connect in the normal manner.
  891.  
  892. The following is a sample of what you might wish to place in the exit
  893. file:
  894.  
  895.    ┌─────────────────────────────────────────────────────────────────────┐
  896.    │ ctext Hmmm.....I don't seem to be around. pse lv a msg on n5ial-1.\ │
  897.    │ 73, de n5ial, Jim in Chicago.                                       │
  898.    │                                                                     │
  899.    │ cmsg pbbs                                                           │
  900.    └─────────────────────────────────────────────────────────────────────┘
  901.  
  902. This sets the connect text (CTEXT) to send the message shown, with the
  903. ``73, de n5ial'' part starting on a new line, and then sets the TNC up
  904. to send CTEXT on a new connect, and then transfer the user to the PBBS
  905. if it is available.
  906.  
  907.  
  908. 10.0)  DEVELOPMENT ENVIRONMENT
  909.  
  910. For those who may be interested, the following is the environment under
  911. which KTterm was developed, and initially tested:
  912.  
  913.    *) COMPUTER / SOFTWARE
  914.  
  915.       *) 20 MHz 386 running Digital Research Dos version 6.0
  916.       *) Serial port uses National Semiconductor NS16550AFN UART
  917.       *) Turbo C++ Version 1.0 and Turbo Assembler Version 2.0
  918.       *) Windowing library is UltraWin Version 2.10, which is
  919.          available from EnQue Software (BBS:  816-353-0991).[1]
  920.       *) Communications library is Encom Version 1.0, which is
  921.          also available from EnQue Software.
  922.    *) Kantronics All Mode (KAM) with firmware version 5.00.
  923.    *) Printed documentation formatted using emTeX version 3.0 [3A]
  924.       and printed on Panasonic KX-P1124 24-pin dot matrix printer at
  925.       360 dpi (typical desktop laser printer is 300 dpi).
  926.  
  927. [1] This may seem strange to some, but I'd like to include a small advert
  928.     for another shareware product, the UltraWin library.  For those who
  929.     wish to use windowing type functions in any C code, check this library
  930.     out!  It is very nicely done, and is very powerful.  Support from EnQue
  931.     has been very good WITHOUT EXCEPTION, and has been very helpful here.
  932.  
  933.  
  934. 11.0)  SUPPORT
  935.  
  936. I will provide support for problems, bug reports (what bugs?), and
  937. suggestions to registered users via several modes:
  938.  
  939. 11.1)  ELECTRONIC MAIL
  940.  
  941. The best and FASTEST way to reach me is via electronic mail.  My addresses
  942. are as follows:
  943.  
  944.    *) INTERNET
  945.       *) jim@n5ial.chi.il.us
  946.       *) grahj@gagme.chi.il.us
  947.       *) j.graham@ieee.org
  948.    *) UUCP: gagme!n5ial!jim@clout.chi.il.us
  949.  
  950. The last Internet address, j.graham@ieee.org, is an alias provided by the
  951. Institute of Eletrical and Electronics Engineers (IEEE) --- this will
  952. follow me even if I move --- if all else fails, use this.  Right now, this
  953. address points to grahj@gagme.chi.il.us, which will then forward mail to me
  954. at home, at jim@n5ial.chi.il.us.
  955.  
  956. In addition, you can reach me from COMPMAIL using another version of the
  957. above IEEE alias:  j.graham.
  958.  
  959. NOTE:  support will NOT be available via Amateur Radio --- the FCC would
  960. probably have some very bad things to say about that.
  961.  
  962. 11.2)  LANDLINE
  963.  
  964. Another way to reach me is via landline.  This will probably be a bit more
  965. difficult, as I'm not always around the phone, and don't currently have
  966. an answering machine.  I now have an AT&T EasyReach number, which will
  967. always point to my actual phone number, even if I move.  This number is
  968. 0-700-JGRAHAM (0-700-547-2426).  Please note that this is
  969. NOT a toll-free 800 number.
  970.  
  971. When you dial this, you will get an AT&T menu that will ask you to press
  972. the # sign and then ask if you want to charge to call to the number
  973. you're calling from or your AT&T calling card (if you have one).  If you
  974. don't have a touch-tone phone, just wait a few seconds, and the system
  975. will just charge the call to the number you're calling from.
  976.  
  977. When using this EasyReach number, there are a couple of things to keep
  978. in mind.  First, you must dial 0-700, and not 1-700.  Second, if you
  979. are not an AT&T subscriber, you must dial 10-288-0-700 (10-ATT-0-700)
  980. to get an AT&T line.  Admittedly, this is a hassle, but at least you
  981. will be able to reach me via telephone even if I move and change
  982. phone numbers.
  983.  
  984. If you have questions or problems with the EasyReach number, you may
  985. contact the AT&T EasyReach customer service department 24 hours/day
  986. at 1-800-982-8480.
  987.  
  988. The number this points to is currently also my data number.  If you get
  989. a busy signal, or if a modem answers, you'll want to try back later.
  990. This number is virtually certain to be in data-mode during the following
  991. hours (all times are Central Time, and daylight or standard time,
  992. whichever is in effect):
  993.  
  994.          2300 to 0600 Hrs 7 days a week
  995.          0700 to 1600 Hrs Monday through Friday
  996.  
  997. During these hours, the modem will be setup to receive incoming UUCP
  998. connects to support e-mail and Usenet News.  If you have the ability
  999. to use UUCP or UUPC, we can set you up there, too.
  1000.  
  1001. 11.3)  SNAIL MAIL
  1002.  
  1003. If all else fails, send your questions to the snail mail address shown
  1004. in the REGISTRATION section.  This will take longer, as
  1005. there will be a delay involved.  I won't get it until my dad forwards it
  1006. to me, but I WILL get it.
  1007.  
  1008. I will keep registered users aware of my current mailing address, too.
  1009.  
  1010.  
  1011. 12.0)  REGISTRATION
  1012.  
  1013. If you received this documentation with your registration, this section
  1014. does not apply to you, and can be skipped.
  1015.  
  1016. KTterm is the result of a large investment of time and money spent in
  1017. the development process, and is NOT freeware.  If you have not
  1018. registered this program, please send $ 10 (US) to:
  1019.  
  1020. Jim Graham
  1021. C/O James A. Graham (my Dad --- this address is more stable than mine)
  1022. 519 Benning Dr.
  1023. Destin, FL 32541
  1024.  
  1025. US users, add $ 4 (US) shipping/handling.  International users, add
  1026. $ 9 (US) shipping/handling.
  1027.  
  1028. If you would like your own copy of this printed, bound documentation,
  1029. please add an additional $ 10 to your registration.  This is primarily
  1030. to cover the cost incurred at the printshop (would be much worse if I
  1031. was giving them anything less than camera-ready art) and the additional
  1032. cost of mailing.
  1033.  
  1034. With your registration, you will receive the latest release of KTterm,
  1035. as well as a registration program which can be used to automatically
  1036. register any new releases of KTterm that you receive.  (Registered
  1037. users will also receive announcements of new releases in the mail.)
  1038. This registration program requires a set of ``keys'' which will be
  1039. provided with the program.
  1040.  
  1041. The copy of KTterm that will be shipped with your registration will
  1042. not yet be registered --- this is to allow you to distribute the most
  1043. current version as shipped to you if you care to do so.  You will,
  1044. therefore, need to register the program upon its arrival.
  1045.  
  1046. By default, this will be shipped on a 360 k 5.25" disk.  If you prefer,
  1047. you can have the program shipped on a 720 k or 1.44 Meg 3.5" disk.
  1048.  
  1049. In addition, you will be eligible for full support from me, and will get
  1050. priority for any enhancement requests you may have.
  1051.  
  1052. Please fill in the following form for my records --- this will help me to
  1053. support you better.
  1054.  
  1055. ═════════════════════════════════════════════════════════════════════════════
  1056.  
  1057.         NAME: ___________________________  CALL: ____________
  1058.      ADDRESS: ___________________________
  1059.               ___________________________  PHONE (day):   (___) ___-____
  1060.               ___________________________  PHONE (eve.):  (___) ___-____
  1061.  
  1062.  
  1063. INTERNET E-Mail Address (if any):
  1064.  
  1065.  
  1066.  
  1067.  
  1068. OTHER E-Mail Addresses (specify type, e.g., UUCP, Compuserve, BITNET, etc.):
  1069.  
  1070.  
  1071.  
  1072.  
  1073.  
  1074. ═════════════════════════════════════════════════════════════════════════════
  1075.  
  1076. E-mail addresses will currently only work if I can get to them via
  1077. INTERNET, but try anyways. You never know --- I might even have access
  1078. to them right now. I am including a list of other networks which can
  1079. exchange e-mail with INTERNET sites.  This list is available for
  1080. anonymous FTP from ftp.msstate.edu (130.18.80.11), and is found in
  1081. ftp/pub/docs/internetwork-mail-guide.  Other methods of distribution
  1082. are described within the file as well.  In this distribution, the file
  1083. is named mail.gui.
  1084.  
  1085.